#include<stdio.h>
const int maxn=300;
const int maxno=100000;
int main()
{
	long long n,a[maxn][maxn];
	scanf("%lld",&n);
	for(int i=0;i<maxn;i++){
		a[i][0]=1;
		a[i][i]=1;
	}
	for(int i=2;i<maxn;i++){
		for(int j=1;j<i;j++){
			a[i][j]=a[i-1][j]+a[i-1][j-1];
		}
	}
	long long ant=1,s[maxno];
	for(int i=0;i<maxn;i++){
		for(int j=0;j<=i;j++){
			s[ant]=a[i][j];
			ant++;
		}
	}
	long long left=1,right=ant,mid;
	while(left>=right){
		mid=(left+right)/2;
		if(n>s[mid])
			left=mid;
		else 
			right=mid;
		if(n==s[mid])
			break;
	}
	printf("%lld",mid);
	return 0;
}
